Durante el transcurso del desarrollo de oFlute, y sobre todo al término del
mismo, se han obtenido unas conclusiones y unos resultados, tanto de forma
personal como para con la comunidad, que intentaremos reflejar en este capítulo.


\section{Objetivos cumplidos}
Al término del desarrollo del proyecto, el proyecto ha completado todos los
objetivos a cumplir, presentes en el planteamiento inicial y detallados en la
sección \textit{\ref{sec:objetivos}}. En particular:

\begin{itemize}
\item Se llevó a cabo la creación del módulo de análisis de sonido, consiguiendo
  una efectividad en la detección de las notas muy alta.
\item Se hizo uso del módulo en una sección de análisis de notas y en el propio
  juego de interpretación de canciones, con resultados muy satisfactorios y
  funcionamiento correcto.
\item Además, el sistema de lecciones planteado se llevó a cabo correctamente,
  consiguiendo un motor dinámico bastante potente y fácilmente ampliable, con
  opción a añadir nuevas lecciones al sistema (apéndice
  \ref{chap:manual_lecciones}).
\item Finalmente, todos los objetivos se llevaron a cabo respetando la premisa
  de mantener una interfaz de usuario amigable y fluida, agradable a la vista y
  sencilla de usar.
\end{itemize}

\section{Conclusiones personales}

oFlute ha sido el proyecto más longevo al que me he enfrentado hasta ahora. A
pesar de tener conciencia de la envergadura del mismo desde el principio, el
tiempo para completarlo ha superado todas mis expectativas, sobre todo en lo que
a documentación se refiere. 

La causa de esto ha sido, en primer lugar, una planificación inicial algo
ineficiente y, por otro lado, mi recelo sobre los procedimientos actuales sobre
ingeniería del software. De cualquier modo, estoy bastante satisfecho con lo
obtenido, y esto me ha servido para aprender a regirme por una planificación de
forma más estricta.

\subsection{Conocimiento adquirido}

Gracias a oFlute he aprendido las técnicas básicas de la programación de audio,
sobre todo en la parte técnica más que teórica. Es esta parte teórica, sobre
todo la de análisis, la que me gustaría reforzar en un futuro, ahora que cuento
con las bases para conseguirlo. Como se comentó en el capítulo
\textit{\nameref{chap:fundamentos}}, los videojuegos relacionados con el audio
son un nicho aún poco explorado y que puede dar muchas satisfacciones, sobre
todo cuando el producto se orienta a un público joven.

Por otro lado, oFlute también me ha ayudado a aprender a usar bastantes
tecnologías auxiliares, en algunos casos meras herramientas que han facilitado
el trabajo y, en otros casos, elementos que resultaron ser de inestimable ayuda
e imprescindible uso al término del proyecto.

Una de estas tecnologías es \textbf{Boost}~\cite{boost}, un conjunto de
bibliotecas para C++ que amplían en gran medida la biblioteca estándar del
lenguaje. Un amplio número de componentes de Boost formarán parte del nuevo
estándar C++0x, por lo que me ha servido para ponerme al día en las
novedades que están por llegar.

\begin{figure}[htp!]
  \centering
  \includegraphics[width=0.4\textwidth]{8_conclusiones/imagen_logoboost}
  \caption{Logotipo de Boost}
\end{figure}

Utilizando como material de apoyo el libro \textit{``Beyond the C++ Standard
  Library''}~\cite{libroboost}, pude conocer una gran parte de las bibliotecas
de Boost, incluyendo punteros inteligentes, programación funcional, bibliotecas
para hilos, y utilizarlas en el proyecto.

Al tratarse de la principal biblioteca utilizada durante el desarrollo, oFlute
me ha provisto de un profundo conocimiento de \textbf{Gosu}~\cite{gosu},
permitiéndome implementar videojuegos con mucha más fluidez y labrándome un
pequeño \textit{framework} personal que utilizar de base en próximos
proyectos. 

\begin{figure}[htp!]
  \centering
  \includegraphics[width=0.4\textwidth]{8_conclusiones/imagen_logogosu}
  \caption{Logotipo de Gosu}
\end{figure}

Otra de las tecnologías que he aprendido ha sido \textbf{GNU Gettext}, que ha
servido para internacionalizar el proyecto. Aunque inicialmente se pensó en
utilizar una solución propia para la internacionalización el proyecto,
posteriormente se decidió usar esta tecnología, ampliamente conocida y
utilizada.

\section{Difusión y derivados}

A raíz del desarrollo de oFlute se abrieron varias vías de trabajo, en forma de
actividades de difusión de conocimiento, proyectos informáticos y participación
en comunidad.

\subsection{Conocimiento generado}

Además de servir como recurso para el correcto transcurso del proyecto, los
conocimientos adquiridos me permitieron, en numerosos casos, generar
documentación adicional e impartir talleres relacionados las tecnologías
previamente mencionadas.

En cuanto a Boost, se llevó a cabo un taller durante los \textit{Cursos de
  Verano de la OSLUCA}~\cite{cursosverano}, en el que se explicaron las partes
más importantes de esta colección de bibliotecas, con numerosos ejemplos de
muchas de ellas. Toda la documentación es libre~\cite{materialesCursoBoost}.

Por otro lado, impartí un taller~\cite{tallergosu} sobre la biblioteca Gosu en
colaboración con la ADVUCA~\cite{advuca}, cuya afluencia superó las 50
personas. Los materiales pueden descargarse
libremente~\cite{tallergosumateriales}.

Por último, tras la aplicación de GNU Gettext en oFlute, escribí una guía
concisa sobre traducción de proyectos con esta herramienta, que se puede
encontrar en el apéndice~\textit{\nameref{chap:tutorial_gettext}}.


\subsection{Freegemas}

Uno de estos proyectos \textit{``hijos''} de oFlute ha sido
\textbf{Freegemas}~\cite{freegemas}, un clon libre del popular juego tipo puzzle
\textit{Bejeweled}. Freegemas es multiplataforma, funciona tanto en GNU/Linux
como en Windows, y además forma parte oficial de Guadalinex~\cite{guadalinex},
por lo que es posible encontrarlo en los repositorios oficiales.

\begin{figure}[h!]
  \centering
  \includegraphics[width=0.55\textwidth]{8_conclusiones/imagen_freegemas}
  \caption{Logotipo de Freegemas}
\end{figure}

Además, Freegemas sirvió como base para una serie de tres artículos que
publiqué, junto al director del presente PFC, en la revista Linux
Magazine~\cite{linuxmagazine} sobre desarrollo de videojuegos en C++. Es posible
encontrar estos artículos en el archivo de la
revista~\cite{refarticulo1}~\cite{refarticulo2}~\cite{refarticulo3} bajo una
licencia Creative Commons.

\subsection{IV Concurso Universitario de Software Libre}

Por otro lado, gracias a oFlute tuve la oportunidad de participar en el IV
Concurso Universitario de Software Libre~\cite{cusl}. En el transcurso del
concurso formé parte de una comunidad muy unida, en la que reinó el apoyo y la
ayuda entre los concursantes. La final del concurso se celebró en la Escuela
Superior de Ingeniería de Cádiz, en la que oFlute obtuvo una mención
especial~\cite{cusl2}.

\begin{figure}[h!]
  \centering
  \includegraphics[width=0.65\textwidth]{8_conclusiones/imagen_logocusl}
  \caption{IV Concurso Universitario de Software Libre}
\end{figure}

Previa a la final nacional tuvo lugar la fase local del concurso, en el que el
proyecto también recibió un accésit al mejor proyecto de
innovación~\cite{cusllocal}.

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "../memoria"
%%% End: 
